package com.miyu.system.pojo.system;


import com.miyu.system.utils.jpacomment.annotation.ColumnComment;
import com.miyu.system.utils.jpacomment.annotation.TableComment;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.persistence.*;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;

import java.io.Serializable;

/**
 * 菜单表;
 * @author : miyu
 * @date : 2023-7-23
 */
@ApiModel(value = "菜单表",description = "")
@Data
@Entity
@Table(name="sys_menu")
@TableComment("菜单表")
public class SysMenu implements Serializable,Cloneable{
    /** 主键;主键 */
    @Id
    @GenericGenerator(name = "jpa-uuid", strategy = "uuid")
    @GeneratedValue(generator = "jpa-uuid")
    @ApiModelProperty(value="主键",notes = "主键")
    @ColumnComment("主键")
    @Column(name = "menu_id", nullable = false,length=32 )
    private String menuId ;
    /** 菜单编码;菜单编码 */
    @ApiModelProperty(value="菜单编码",notes = "菜单编码")
    @ColumnComment("菜单编码")
    @Column(name = "menu_code", nullable = true,length=100 )
    private String menuCode ;
    /** 菜单名称;菜单名称 */
    @ApiModelProperty(value="菜单名称",notes = "菜单名称")
    @ColumnComment("菜单名称")
    @Column(name = "menu_name", nullable = true,length=90 )
    private String menuName ;
    /** 访问地址;访问路径 */
    @ApiModelProperty(value="访问地址",notes = "访问路径")
    @ColumnComment("访问地址")
    @Column(name = "router_path", nullable = true,length=200 )
    private String routerPath ;
    /** 文件路径;文件查找相对路径 */
    @ApiModelProperty(value="文件路径",notes = "文件查找相对路径")
    @ColumnComment("文件路径")
    @Column(name = "file_path", nullable = true,length=90 )
    private String filePath ;
    /** 父级节点;父级节点 */
    @ApiModelProperty(value="父级节点",notes = "父级节点")
    @ColumnComment("父级节点")
    @Column(name = "parent_id", nullable = true,length=32 )
    private String parentId ;
    /** 所在区域;显示区域 */
    @ApiModelProperty(value="所在区域",notes = "显示区域")
    @ColumnComment("所在区域")
    @Column(name = "space_id", nullable = true,length=32 )
    private String spaceId ;
    /** 是否隐藏;菜单是否隐藏 */
    @ApiModelProperty(value="是否隐藏",notes = "菜单是否隐藏")
    @ColumnComment("是否隐藏")
    @Column(name = "is_hidden", nullable = true,length=1 )
    private String isHidden = "0" ;
    /** 是否末级;是否末级 */
    @ApiModelProperty(value="是否末级",notes = "是否末级")
    @ColumnComment("是否末级")
    @Column(name = "is_last", nullable = true,length=1 )
    private String isLast = "1" ;
    /** 是否停用;是否停用 */
    @ApiModelProperty(value="是否停用",notes = "是否停用")
    @ColumnComment("是否停用")
    @Column(name = "is_stop", nullable = true,length=1 )
    private String isStop = "0" ;
    /** 是否系统;内置不可删除 */
    @ApiModelProperty(value="是否系统",notes = "内置不可删除")
    @ColumnComment("是否系统")
    @Column(name = "is_sys", nullable = true,length=1 )
    private String isSys = "0" ;
    /** 是否缓存;是否缓存 */
    @ApiModelProperty(value="是否缓存",notes = "是否缓存")
    @ColumnComment("是否缓存")
    @Column(name = "is_cache", nullable = true,length=1 )
    private String isCache = "0" ;
    /** 显示图标;显示图标 */
    @ApiModelProperty(value="显示图标",notes = "显示图标")
    @ColumnComment("显示图标")
    @Column(name = "menu_icon", nullable = true,length=90 )
    private String menuIcon ;
    /** 排序;排序 */
    @ApiModelProperty(value="排序",notes = "排序")
    @ColumnComment("排序")
    @Column(name = "order_num", nullable = true,length=10 )
    private Integer orderNum ;
    /** 类型;0：目录 1：菜单 2：按钮 */
    @ApiModelProperty(value="类型",notes = "0：目录 1：菜单 2：按钮")
    @ColumnComment("类型")
    @Column(name = "menu_type", nullable = true,length=1 )
    private String menuType = "1" ;
    /** 权限标示;菜单或按钮权限 */
    @ApiModelProperty(value="权限标示",notes = "菜单或按钮权限")
    @ColumnComment("权限标示")
    @Column(name = "menu_authority", nullable = true,length=255 )
    private String menuAuthority ;
    /** 菜单参数;菜单传递参数 */
    @ApiModelProperty(value="菜单参数",notes = "菜单传递参数")
    @ColumnComment("菜单参数")
    @Column(name = "menu_param", nullable = true,length=200 )
    private String menuParam ;
    /** 说明;菜单说明 */
    @ApiModelProperty(value="说明",notes = "菜单说明")
    @ColumnComment("说明")
    @Column(name = "remark", nullable = true,length=100 )
    private String remark ;

}